跳至主要内容

SQL

SQL I 資料庫

資料庫?! 高中不是學過了….那就在複習一次吧 哈哈

Structure Query Language(SQL)

一種特定目的程式語言,用於管理關聯式資料庫管理系統(RDBMS),或在關係流資料管理系統(RDSMS)中進行流處理。(當然還有另一種東西叫 NoSQL) 指令參考

DB(DataBase)

  • 廣義:放置資料的地方
  • 狹義:公共資料群組的集合

(宿舍 MAC 的管理也會用)

DB 的優點

說了這麼多先下載一下 壓壓驚

sqlite studio

介紹 DB

DataTable
資料庫的儲存方式長的很像 Excel 橫看 Row 直看 Co

DataBase 結構

bit -> byte -> field -> record -> table -> data base

  • 一個 db server 可以有很多 database(資料庫)
  • 一個 database 可以有很多 datatable(資料表)
  • 一個 datatable 可以有很多 record(資料紀錄)
  • 一個 record 可以有很多 field/column(資料欄位)

database vs database management system

資料庫以儲存架構來分,常見的有四種

  • 階層式資料模型(hierarchical database)
  • 網狀資料模型(network database)
  • 關聯式資料模型(relational database)
  • 物件導向式資料庫(object-oriented database)

example

--create table list(Class_name,Class_id,name);
--insert into list(Class_name,Class_id) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四電子二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--delete from `list` where(`Class_name` = "四電子二A");

傳說中資料庫有四種基礎命

也就是 SUID

中文英文
Select選擇
Update更新
Insert插入
Delete刪除

概念跟 CRUD 一樣

DB 建立

create database [database_name];

再建立 DT(在 DB 下)

create datatable [datatable_name]( col1 datatype, col2 datatype, col3 datatype,);
create table customers (  c_id int,  name varchar(50),  address varchar(255),  phone varchar(20));

Insert 插入

insert into `class` (`class_name`,`class_id`) values ("四資管二a,"b10823027");
insert into `class`  values ("四企管二a","4");

--插入全欄位值 且 value 插入順序正確可忽略欄位名稱

insert into `資料表` (`欄位1`,`欄位2`,...) values (“value1",“value2",...);
警告

((做完後記得按更新喔~

Delete 刪除

delete from `class` where `class_name`="四企管二z";
delete from `資料表` where 條件式;

ALTER 修改資料 增加欄位

更改資料欄位型別

alter table table_name add column_name datatype;

刪除欄位 (drop column)

alter table table_name alter column column_name datatype;
alter table table_name drop column column_name;
truncate table table_name;
///(資料表還在,資料清空)

刪除資料庫 (drop database)

database database_name;

Select 查詢

SELECT * FROM `Class`;
  • "*" 為所謂的萬用字元 也就是全部的意思”

那語法總得來說就是

SELECT * FROM `資料表`;

Update 更新

UPDATE `Class` SET `Class_name`="四企管二Z"  WHERE `Class_name` = "四企管二A";
UPDATE `資料表` SET `欄位名稱1`=`欄位值1`,`欄位名稱2`=`欄位值2`... [WHERE {條件式}]
備註

四企管二 A 變成 四企管二 Z 了 XD

指令變化

資料庫有很多廠商 基本上都遵循 ISO 的 SQL 標準
但是各家的指令與語法還是會有差別
(每個 DB 怎麼操作 有時候需要特別去查)

end

--create table list(Class_name,Class_id,name);
--insert into list(Class_name,Class_id) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四電子二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--delete from `list` where(`Class_name` = "四電子二A");